package cn.com.cifi.mars.entity;

import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;

import java.time.LocalDateTime;
import com.baomidou.mybatisplus.annotation.TableId;
import java.io.Serializable;

/**
 * <p>
 * 供货计划版本表
 * </p>
 *
 * @author yyd
 * @since 2019-09-09
 */
@TableName("t_supply_plan_version")
public class SupplyPlanVersion implements Serializable {

	private static final long serialVersionUID = 1L;
	/**
	 * 主键-版本ID
	 */
	@TableId(value = "id", type = IdType.INPUT)
	private String id;

	/**
	 * 版本名称
	 */
	private String versionName;

	/**
	 * 版本号
	 */
	private String versionNum;

	/**
	 * 上个版本
	 */
	private String lastVersion;
	/**
	 * 项目Id
	 */
	private String projectId;
	/**
	 * 分期ID
	 */
	private String projectfId;

	/**
	 * 分期Code
	 */
	private String stageCode;

	/**
	 * 分期名称
	 */
	private String stageName;

	/**
	 * 版本状态：编制中, 审批中, 审批通过, 审批驳回
	 */
	private String versionState;

	/**
	 * 版本类型：投资版、战规版、预算版、动态版
	 */
	private String versionType;

	/**
	 * 版本来源-价格版本Id
	 */
	private String sourcePriceId;
	/**
	 * 版本来源-价格版本名称
	 */
	private String sourcePriceName;
	/**
	 * 版本来源-价格版本号
	 */
	private String sourcePriceNum;
	/**
	 * 版本来源-楼栋计划版本id
	 */
	private String sourceBuildplanVersionId;
	/**
	 * 版本来源-楼栋计划版本名称
	 */
	private String sourceBuildplanVersionName;
	
	/**
	 * 版本来源-版本来源-供货版本Id（创建预算版使用）
	 */
	private String sourceSupplyId;
	/**
	 * 版本来源-版本标识（预算版：mid_year--年中；all_year--全年）
	 */
	private String versionIdentify;

	/**
	 * 版本属性 对应 VersionAttrEnum下的 ("before_warplan","战规前") ("after_warplan","战规后")
	 */
	private String versionAttr;
	/**
	 * 是否是考核版（1--是；0--否）
	 */
	private Integer isAssessmentVersion;
	
	/**
	 * 动态版本-归属月份
	 */
	private String affiliationMonth;
	/**
	 * 预算版-归属年份
	 */
	private String budgetYear;
	
	/**
	 * 是否定稿
	 */
	private Integer isFinalize;
	
	/**
	 * 确认供货状态
	 */
	private Integer confirmStatus;

	/**
	 * 创建人员
	 */
	private String createBy;
	/**
	 * 创建时间
	 */
	private LocalDateTime createTime;

	/**
	 * 变更人员
	 */
	private String updateBy;
	/**
	 * 变更时间
	 */
	private LocalDateTime updateTime;
	/**
	 * 是否删除
	 */
	private Integer isDelete;
	
	@TableField(exist = false)
	private String projectCode;
	
	@TableField(exist = false)
	private String projectName;

	public String getId() {
		return id;
	}

	public void setId(String id) {
		this.id = id;
	}

	public String getVersionName() {
		return versionName;
	}

	public void setVersionName(String versionName) {
		this.versionName = versionName;
	}

	public String getVersionNum() {
		return versionNum;
	}

	public void setVersionNum(String versionNum) {
		this.versionNum = versionNum;
	}

	public String getLastVersion() {
		return lastVersion;
	}

	public void setLastVersion(String lastVersion) {
		this.lastVersion = lastVersion;
	}

	public String getProjectId() {
		return projectId;
	}

	public void setProjectId(String projectId) {
		this.projectId = projectId;
	}

	public String getProjectfId() {
		return projectfId;
	}

	public void setProjectfId(String projectfId) {
		this.projectfId = projectfId;
	}

	public String getStageCode() {
		return stageCode;
	}

	public void setStageCode(String stageCode) {
		this.stageCode = stageCode;
	}

	public String getStageName() {
		return stageName;
	}

	public void setStageName(String stageName) {
		this.stageName = stageName;
	}

	public String getVersionState() {
		return versionState;
	}

	public void setVersionState(String versionState) {
		this.versionState = versionState;
	}

	public String getVersionType() {
		return versionType;
	}

	public void setVersionType(String versionType) {
		this.versionType = versionType;
	}

	public String getSourcePriceId() {
		return sourcePriceId;
	}

	public void setSourcePriceId(String sourcePriceId) {
		this.sourcePriceId = sourcePriceId;
	}

	public String getSourcePriceName() {
		return sourcePriceName;
	}

	public void setSourcePriceName(String sourcePriceName) {
		this.sourcePriceName = sourcePriceName;
	}

	public String getSourcePriceNum() {
		return sourcePriceNum;
	}

	public void setSourcePriceNum(String sourcePriceNum) {
		this.sourcePriceNum = sourcePriceNum;
	}

	public String getSourceBuildplanVersionId() {
		return sourceBuildplanVersionId;
	}

	public void setSourceBuildplanVersionId(String sourceBuildplanVersionId) {
		this.sourceBuildplanVersionId = sourceBuildplanVersionId;
	}

	public String getSourceBuildplanVersionName() {
		return sourceBuildplanVersionName;
	}

	public void setSourceBuildplanVersionName(String sourceBuildplanVersionName) {
		this.sourceBuildplanVersionName = sourceBuildplanVersionName;
	}

	public String getSourceSupplyId() {
		return sourceSupplyId;
	}

	public void setSourceSupplyId(String sourceSupplyId) {
		this.sourceSupplyId = sourceSupplyId;
	}

	public String getVersionIdentify() {
		return versionIdentify;
	}

	public void setVersionIdentify(String versionIdentify) {
		this.versionIdentify = versionIdentify;
	}

	public String getVersionAttr() {
		return versionAttr;
	}

	public void setVersionAttr(String versionAttr) {
		this.versionAttr = versionAttr;
	}

	public Integer getIsAssessmentVersion() {
		return isAssessmentVersion;
	}

	public void setIsAssessmentVersion(Integer isAssessmentVersion) {
		this.isAssessmentVersion = isAssessmentVersion;
	}
	
	public String getAffiliationMonth() {
		return affiliationMonth;
	}

	public void setAffiliationMonth(String affiliationMonth) {
		this.affiliationMonth = affiliationMonth;
	}
	
	public Integer getIsFinalize() {
		return isFinalize;
	}

	public void setIsFinalize(Integer isFinalize) {
		this.isFinalize = isFinalize;
	}
	
	public Integer getConfirmStatus() {
		return confirmStatus;
	}

	public void setConfirmStatus(Integer confirmStatus) {
		this.confirmStatus = confirmStatus;
	}

	public String getBudgetYear() {
		return budgetYear;
	}

	public void setBudgetYear(String budgetYear) {
		this.budgetYear = budgetYear;
	}

	public String getCreateBy() {
		return createBy;
	}

	public void setCreateBy(String createBy) {
		this.createBy = createBy;
	}

	public LocalDateTime getCreateTime() {
		return createTime;
	}

	public void setCreateTime(LocalDateTime createTime) {
		this.createTime = createTime;
	}

	public String getUpdateBy() {
		return updateBy;
	}

	public void setUpdateBy(String updateBy) {
		this.updateBy = updateBy;
	}

	public LocalDateTime getUpdateTime() {
		return updateTime;
	}

	public void setUpdateTime(LocalDateTime updateTime) {
		this.updateTime = updateTime;
	}

	public Integer getIsDelete() {
		return isDelete;
	}

	public void setIsDelete(Integer isDelete) {
		this.isDelete = isDelete;
	}
	
	public String getProjectCode() {
		return projectCode;
	}

	public void setProjectCode(String projectCode) {
		this.projectCode = projectCode;
	}

	public String getProjectName() {
		return projectName;
	}

	public void setProjectName(String projectName) {
		this.projectName = projectName;
	}

	@Override
	public String toString() {
		return "SupplyPlanVersion [id=" + id + ", versionName=" + versionName + ", versionNum=" + versionNum
				+ ", lastVersion=" + lastVersion + ", projectId=" + projectId + ", projectfId=" + projectfId
				+ ", stageCode=" + stageCode + ", stageName=" + stageName + ", versionState=" + versionState
				+ ", versionType=" + versionType + ", sourcePriceId=" + sourcePriceId + ", sourcePriceName="
				+ sourcePriceName + ", sourcePriceNum=" + sourcePriceNum + ", sourceBuildplanVersionId="
				+ sourceBuildplanVersionId + ", sourceBuildplanVersionName=" + sourceBuildplanVersionName
				+ ", versionAttr=" + versionAttr + ", createBy=" + createBy + ", createTime=" + createTime
				+ ", updateBy=" + updateBy + ", updateTime=" + updateTime + ", isDelete=" + isDelete + "]";
	}

}
